// axios默认配置，如如特需需求，不用修改
import axios from 'axios';

function  handleErrApi(err) {
  let error="";
  if(err.response===undefined){
    error="请求超时！";
  }else if(err.response.data.errMsg===undefined){
    if("arraybuffer"===err.config.responseType){
      let enc = new TextDecoder("utf-8");
      error=JSON.parse(enc.decode(new Uint8Array(err.response.data))).errMsg;
    }else{
      error="未知错误！";
    }
  }else {
    error=err.response.data.errMsg;
  }
  console.error(error);
}

// 一些公共的属性可以放在这里
const instance = axios.create({
  timeout:60000
});
//请求之前添加配置
const axiosConfig=(config)=>{
  return config
}
//请求之前添加配置，出现错误
const configError=(error)=>{
  return Promise.reject(error);
}
instance.interceptors.request.use(axiosConfig,configError);

//接口响应成功 200
const afterSuccess=(response)=>{
  return response
}
//接口响应失败
const afterError=(error)=>{
  handleErrApi(error)
  return Promise.reject(error);
}
instance.interceptors.response.use(afterSuccess,afterError);
export default instance;

